Antd Mobile TextareaItem的autoHeight失效

问题描述

TextareaItem里面存了一段很长的文字,设置了autoheight,但是需要用鼠标点一下才能展开
在这里插入图片描述

问题解决

获取textarea实例,强制获取焦点

**
 * title: 通知详情
 */
import React, { Component } from 'react';
import { connect } from 'dva';
import { TextareaItem } from 'antd-mobile';

import styles from './detail.less';
import NavbarComponent from '../../../components/NavBar';

@connect((state) => ({
  global: state.global,
  tzgg: state.tzgg
}))
class NoticeDetailPage extends Component {
  constructor(props) {
    super(props);
    this.state = {
      formatNotice: '',
    };
    this.textAreaRef = React.createRef();
  }

  componentDidMount = () => {
    this.handleRequest();
    this.textAreaRef.current.focus();
  };

  // 通知公告详情
  handleDetail = () => {

  };

  // 请求数据
  handleRequest = () => {
    const { dispatch, location: { state={} } } = this.props;
    dispatch({
      type: `tzgg/queryNoticeById`,
      payload: {
        id: state.id
      },
      callback: (res) => {
        this.setState({
          formatNotice: res.formatNotice
        });
      }
    });
  };

  render() {
    const { formatNotice } = this.state;

    return (
      <div className={styles['main-container']}>
        <NavbarComponent />

        <div className={styles.container}>
          <TextareaItem
            autoHeight
            ref={this.textAreaRef}
            editable={false}
            value={formatNotice}
          />
        </div>
      </div>
    );
  }
}

export default NoticeDetailPage;

主要代码

this.textAreaRef = React.createRef();
this.textAreaRef.current.focus();
ref={this.textAreaRef}

效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值