【问题标题】:React antd design select inside a table在表格内反应 antd 设计选择
【发布时间】:2020-12-17 19:01:37
【问题描述】:

我无法在 antd 表中获取要填充的选定值和该列的标题。

在数据库 Index=AccountNumber 中,关键字值 = 102 即帐号。未设置初始负载。帐号在可用值的下拉列表中,但未设置。页面初始加载时为空白

这样的页面加载,没有为查找选择的值。

出于测试原因,我希望它是硬编码为“帐号”的值。实际上,我希望它像键值 102=帐号的查找一样实际填充。

这是表格内的选择下拉菜单。该表有 2 列。
表的数据源是 selecteIndexTypeKeyTypes,它是此类的 IEnumerable

下拉列表的数据源是此类的 IEnumerable

更新:

【问题讨论】:

    标签: reactjs antd


    【解决方案1】:

    也许可以使用 defaultValue 或 initialValue 属性

    
    <Select defaultValue={...} mode="multiple" placeholder="Assign roles for this user">
        <Select.Option value="role_admin">Administrator</Select.Option>
        <Select.Option value="role_seller">Seller</Select.Option>
        <Select.Option value="role_customer">Customer</Select.Option>
      </Select>
    
    
    {getFieldDecorator('roleList', {
      initialValue: user.roleList || [],
      rules: [
        { required: false, message: 'Assign roles for this user', type: 'array' },
      ],
    })(
      <Select mode="multiple" placeholder="Assign roles for this user">
        <Select.Option value="role_admin">Administrator</Select.Option>
        <Select.Option value="role_seller">Seller</Select.Option>
        <Select.Option value="role_customer">Customer</Select.Option>
      </Select>
    )}
    

    【讨论】:

      【解决方案2】:

      传递到Select 组件的value 属性是所需Option 子组件的对应value 属性。不仅仅是一个文本值。把你的代码改成这样:

      constructor(props) {
         super(props);
         this.state = {
             selectValue: "initial-value",
             ...
         };
      }
      
      ...
      <Select
        value={desKeywordTypeList.length ? (desKeywordTypeList.find(r => /account\snumber/i.test(r.keywordTypeName)) || {}).keywordTypeId : this.state.selectValue}
        onChange={...}>
         {
            desKeywordTypeList.length ? desKeywordTypeList.map(record => (
            <Option key={record.keywordTypeID} value={record.keywordTypeID}>
              {record.keywordTypeName} ({record.keywordTypeID})
            </Option>
            :
            <Option value={this.state.selectValue} key={this.state.selectValue} >Account Number</Option>
         }
      </Select>
      

      【讨论】:

      • 如何对值或 value="initial-value" 进行硬编码?这是从数据库加载的。目前是record.keywordTypeId?你能推荐任何codepen吗?该值随表格的每一行而变化。
      • 好的,我明白了。我真的无法从中制作出有用的代码笔,因为它取决于您获取的数据。不过,我已经编辑了我的答案
      • 感谢您的帮助。我让我的屏幕看起来像它应该的那样。更新了问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-04
      相关资源
      最近更新 更多