文档中心 > 店铺动态卡片-开发指引

form-item

更新时间:2020/06/23 访问次数:3739

表单子项

 

注意事项

  • labelAlign 不为 "top" 时,必须设置 labelCol 或 wrapperCol,否则不生效。

 

属性

参数 说明 类型 默认值
label label 标签的文本 String -
size 单个 Item 的 size 自定义,优先级高于 Form 的 size, 并且当组件与 Item 一起使用时,组件自身设置 size 属性无效。

可选值:
'large', 'small', 'medium'
Enum -
help 自定义提示信息,如不设置,则会根据校验规则自动生成. String -
extra 额外的提示信息,和 help 类似,当需要错误信息和提示文案同时出现时,可以使用这个。 位于错误信息后面 String -
validateState 校验状态,如不设置,则会根据校验规则自动生成

可选值:
'error'(成功)
'success'(失败)
'loading'(校验中)
Enum -
labelAlign 标签的位置

可选值:
'top'(上)
'left'(左)
'inset'(内)
Enum -
labelTextAlign 标签的左右对齐方式

可选值:
'left'(左)
'right'(右)
Enum -
required [表单校验] 不能为空 Boolean -
asterisk required 的星号是否显示 Boolean -
requiredMessage required 自定义错误信息 String -

示例代码

 

<view class="com-wrap">
  <view class="com-title">基本</view>
  <form style="width: 60%"  data-name="form" onChange="onChange">


    <form-item label="username:" required>
        <input onChange="onChange" data-name="username" defaultValue="{{username}}"  name="username" placeholder="Please Enter username"/>
    </form-item>

    <form-item label="password:">
        <input onChange="onChange" data-name="password" defaultValue="{{password}}" htmlType="password" name="pass" placeholder="Please Enter Password"/>
    </form-item>

    <form-item label="Note:" help="something">
        <textarea  onChange="onChange" data-name="note" defaultValue="{{note}}" placeholder="something" name="remark" />
    </form-item>

    <form-item label="Select" >
        <select onChange="onChange" data-name="select" defaultValue="{{select}}"  style="width: 200px" name="select">
            <option value="jack">jack</option>
            <option value="lucy">lucy</option>
            <option value="disabled" disabled>disabled</option>
            <option value="hugohua">hugohua</option>
        </select>
    </form-item>

    <form-item label="Switch:">
      <switch onChange="onChange" data-name="switch" name="switch" defaultChecked="{{switch}}" />
    </form-item>

    <form-item label="Radio:">
      <!-- <radio-group name="radio">
          <radio value="apple">apple</radio>
          <radio value="banana">banana</radio>
          <radio disabled value="cherry">cherry(disabled)</radio>
      </radio-group> -->
      <radio-group dataSource="{{list}}" onChange="onChangeHeihei" />
    </form-item>

    <form-item label="Checkbox-group:">
      <checkbox-group name="checkbox" data-name="checkbox-group" defaultValue="b" onChange="onChange">
          <checkbox onChange="onChange" data-name="option1" name="option1" value="a">option 1 </checkbox>
          <checkbox onChange="onChange" data-name="option2" name="option2" style="margin-left:8px" value="b">option 2 </checkbox>
          <checkbox onChange="onChange" data-name="option3" name="option3" style="margin-left:8px" disabled value="c">option 3(disabled)</checkbox>
      </checkbox-group>
    </form-item>

     

    <form-item label="Agreement:">
        <checkbox onChange="onChange" data-name="agreement" name="agreement" name="agreement" defaultChecked="{{agreement}}">Agree</checkbox>
    </form-item>

    <form-item label=" ">
        <button onTap="handleSubmit">Confirm</button>
    </form-item>


  </form>

</view>

 

Component({
  mixins: [],
  data: {
    username: 'test',
    password: '',
    select: 'jack',
    switch: true,
    option1: false,
    option2: false,
    option3: false,
    agreement: false,
    radioValue: '',
    list: [
      {
        value: 'appale',
        label: 'Appale',
        disabled: false
      },
      {
        value: 'pear',
        label: 'Pear'
      },
      {
        value: 'orange',
        label: 'Orange',
        disabled: true
      }
    ]
  },
  props: {},
  didMount() {},
  didUpdate() {},
  didUnmount() {},
  methods: {
    onChange(e) {
      let {
        detail: { value },
        currentTarget: { dataset }
      } = e;
      let { name } = dataset;
      console.log(name + ' onChange:', value);
      this.setData({ [name]: value });
    },
    onChangeHeihei(e) {
      let {
        detail: { value }
        // currentTarget: { dataset }
      } = e;
      // let { value } = dataset;
      // console.log('name:', name);
      // console.log('value:', value);
      // debugger;
      this.setData({ radioValue: value });
    },
    handleSubmit() {
      console.log('[form submit]:', this.data);
      my.showToast({ content: JSON.stringify(this.data) });
    }
  }
});

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部