簡體   English   中英

反應原生:有沒有辦法只在原生庫的手風琴的 3 選項卡中定位圖標?

[英]react native: there is way to position icon only in the 3 tab of the accordion from native-base lib?

有一種方法可以從“react-native-vector-icons 目錄 - MaterialIcons”中放置圖標“eye”,我只需要將“eye”圖標放在手風琴的第 3 個位置 這個手風琴來自“native-base”庫。

這是我想要實現的示例:

在此處輸入圖片說明

import React, { Component } from "react";
import { Container, Header, Content, Accordion } from "native-base";
const dataArray = [
  { title: "First Element", content: "Lorem ipsum dolor sit amet" },
  { title: "Second Element", content: "Lorem ipsum dolor sit amet" },
  { title: "Third Element", content: "Lorem ipsum dolor sit amet" }
];
export default class AccordionHeaderContentStyleExample extends Component {
  render() {
    return (
      <Container>
        <Header />
        <Content padder>
          <Accordion
            dataArray={dataArray}
            headerStyle={{ backgroundColor: "#b7daf8" }}
            contentStyle={{ backgroundColor: "#ddecf8" }}
          />
        </Content>
      </Container>
    );
  }
}

這是一個工作示例。

https://snack.expo.io/9dGIGdAsg

import React, { Component } from "react";
import { Container, Header, Content, Icon, Accordion, Text, View } from "native-base";
const dataArray = [
  { title: "First Element", content: "Lorem ipsum dolor sit amet" },
  { title: "Second Element", content: "Lorem ipsum dolor sit amet" },
  { title: "Third Element", content: "Lorem ipsum dolor sit amet", icon: "visibilty" }
];

export default class AccordionCustomHeaderContent extends Component {
  _renderHeader(item, expanded) {
    return (
      <View style={{
        flexDirection: "row",
        padding: 10,
        justifyContent: "space-between",
        alignItems: "center" ,
        backgroundColor: "#A9DAD6" }}>
      <Text style={{ fontWeight: "600" }}>
          {" "}{item.title}
        </Text>
        {item.icon && (<Icon style={{ fontSize: 18 }} name="remove-circle" />)}
      </View>
    );
  }
  _renderContent(item) {
    return (
      <Text
        style={{
          backgroundColor: "#e3f1f1",
          padding: 10,
          fontStyle: "italic",
        }}
      >
        {item.content}
      </Text>
    );
  }
  render() {
    return (
      <Container>
        <Header />
        <Content padder style={{ backgroundColor: "white" }}>
          <Accordion
            dataArray={dataArray}
            animation={true}
            expanded={true}
            renderHeader={this._renderHeader}
            renderContent={this._renderContent}
          />
        </Content>
      </Container>
    );
  }
}
<br/>

您可以通過在其中傳遞視圖來使用其功能“renderHeader”自定義標題視圖,但是如果您想在標題的特定索引上添加自定義視圖,那么您必須稍微自定義它。

這是默認參數返回以下

renderHeader(item, expanded)

您必須編輯庫中的“src/basic/Accordion.js”類並像下面這樣更改它

renderHeader(item, expanded, index)

然后您將獲得 Accordin 標題項的索引,然后您可以按條件自定義它的視圖,例如 if index == 2 (item 3) 然后添加“眼睛”圖標

<input>和<textarea></textarea>未在 native-base 中對齊,React Native&lt;/div&gt;<div id="text_translate"><p> 我想使用原生基礎將單行輸入和多行輸入放入表單中,但它們未正確對齊垂直線。 有什么我遺漏的或者不應該一起使用的嗎? 謝謝你。</p><p> package.json 的一部分</p><pre> "expo": "~37.0.3", "native-base": "2.13.8", "react": "~16.9.0", "react-dom": "~16.9.0", "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",</pre><p> 我的代碼</p><pre class="lang-js prettyprint-override"> &lt;Content padder&gt; &lt;Form&gt; &lt;Item regular floatingLabel&gt; &lt;Label style={{paddingTop: 2}}&gt;Label&lt;/Label&gt; &lt;Input onChangeText={url =&gt; setUrl(url)}/&gt; &lt;/Item&gt; &lt;Textarea rowSpan={5} onChangeText={content =&gt; setContent(content)} bordered placeholder="this is textarea" /&gt; &lt;/Form&gt; &lt;/Content&gt;</pre><p> <a href="https://i.stack.imgur.com/gSyge.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/gSyge.png" alt="模擬器截圖"></a></p><p> ========已編輯</p><p>我找到了答案,只需將 floatingLabel 替換為常規。 但是,占位符仍未對齊。</p><pre class="lang-js prettyprint-override"> &lt;Item regular&gt; &lt;Label&gt;URL&lt;/Label&gt; &lt;Input onChangeText={url =&gt; setUrl(url)}/&gt; &lt;/Item&gt;</pre><p> <a href="https://i.stack.imgur.com/kWwZs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kWwZs.png" alt="在此處輸入圖像描述"></a></p></div>

[英]<Input /> and <Textarea /> are not aligned in native-base, React Native

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 標簽內的React-Native Set響應式圖標(本機基形式) <input>和<textarea></textarea>未在 native-base 中對齊,React Native&lt;/div&gt;<div id="text_translate"><p> 我想使用原生基礎將單行輸入和多行輸入放入表單中,但它們未正確對齊垂直線。 有什么我遺漏的或者不應該一起使用的嗎? 謝謝你。</p><p> package.json 的一部分</p><pre> "expo": "~37.0.3", "native-base": "2.13.8", "react": "~16.9.0", "react-dom": "~16.9.0", "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",</pre><p> 我的代碼</p><pre class="lang-js prettyprint-override"> &lt;Content padder&gt; &lt;Form&gt; &lt;Item regular floatingLabel&gt; &lt;Label style={{paddingTop: 2}}&gt;Label&lt;/Label&gt; &lt;Input onChangeText={url =&gt; setUrl(url)}/&gt; &lt;/Item&gt; &lt;Textarea rowSpan={5} onChangeText={content =&gt; setContent(content)} bordered placeholder="this is textarea" /&gt; &lt;/Form&gt; &lt;/Content&gt;</pre><p> <a href="https://i.stack.imgur.com/gSyge.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/gSyge.png" alt="模擬器截圖"></a></p><p> ========已編輯</p><p>我找到了答案,只需將 floatingLabel 替換為常規。 但是,占位符仍未對齊。</p><pre class="lang-js prettyprint-override"> &lt;Item regular&gt; &lt;Label&gt;URL&lt;/Label&gt; &lt;Input onChangeText={url =&gt; setUrl(url)}/&gt; &lt;/Item&gt;</pre><p> <a href="https://i.stack.imgur.com/kWwZs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kWwZs.png" alt="在此處輸入圖像描述"></a></p></div> zIndex doot可在本機卡上運行-反應本機 如何在反應原生中更改基於原生的 Picker fontSize 和 fontFamily? Native-Base 3:菜單項的 Onpress React-Native native-base 如何減少卡片項目之間的間距? React native - 安裝native-base后要包含在版本控制中的文件? 在 ReactJs 和 React Native 項目之間共享使用 Native-Base 制作的組件 在本機基礎輸入上寫入默認文本 如何使用native-base在react-native中使圖像上的半透明按鈕?
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM