m0_59524973 2021-06-21 16:25 采纳率: 50%
浏览 65
已采纳

如何实现点击下拉框中的标签直接保存到input上,求告知

 observeTagsClick(type, text){ // 将选中的标签插入输入行
    let pre_text = this.props.getFieldsValue(['inspection']).inspection;
    console.log("pre_text",pre_text)
    this.setState({ value: text });
    if(type === 'add' && text){
      // console.log("111",add);
      if(pre_text){
        if(!pre_text.includes(text)){
          var lastChar = pre_text.substr(pre_text.length - 1, 1);
          if(lastChar === ',' || lastChar == '。' || lastChar === '、' || lastChar === ';' || lastChar === ',' || lastChar === '.' || lastChar === '/'){
            pre_text += text; // 如果最后一个字符包含符号则直接添加字符串
          }else{
            pre_text += '、' + text;
          }
          this.props.setFieldsValue({inspection: pre_text});
          this.setState({ value: pre_text });
        }
      }else{
        this.props.setFieldsValue({inspection: text});
        this.setState({ value: text });
      }
    }else{
      if(pre_text.includes(text) && text){ // 字符串匹配
        for(var i=0; i < pre_text.length; i++){
          var searchResult = pre_text.startsWith(text, i); // 判断是否存在如果存在
          if(searchResult){
            pre_text =  pre_text.replace(text, '');
            if(pre_text[i] === ',' || pre_text[i] == '。' || pre_text[i] === '、' || pre_text[i] === ';' || pre_text[i] === ',' || pre_text[i] === '.' || pre_text[i] === '/'){
              let prefix = pre_text.substr(0, i);
              pre_text = prefix + pre_text.substr(i+1);
            }
            let lastChar = pre_text.substr(pre_text.length - 1, 1);
            if(lastChar === ',' || lastChar == '。' || lastChar === '、' || lastChar === ';' || lastChar === ',' || lastChar === '.' || lastChar === '/'){ // 最后一个字符不允许是范围内的字符
              pre_text = pre_text.substr(0, pre_text.length - 1);
            }
            this.props.setFieldsValue({inspection: pre_text});
            this.setState({ value: pre_text });


            // this.props.setInitData({inspection:pre_text});
          }
        }
      }
    }

  • 写回答

1条回答 默认 最新

  • 崽崽的谷雨 2021-06-21 16:28
    关注

    其实用ui库跟容易(antd就有这种组件)。自己实现也行。你选中之后,把值存起来。然后获取input赋值给它的value.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效