Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

66
Views
I Want to retain the placeholder on left side while typing any kind of text in TextInput Field in React Native

Here is my code...please check the code and guide me....what i have to do for that

            <Input
            containerStyle={tailwind('mt-4')}
            label="Item Price"
            labelStyle={{fontWeight: '800'}}
            theme="secondary"
            keyboardType={'numeric'}
            type="underline"
            placeholder="$"
            clear={true}
            onBlur={onBlur}
            value={price}
            onChangeText={text => setPrice(text)}
            errorMessage={
              !/\d+((,\d+)+)?(.\d+)?(.\d+)?(,\d+)?/.test(price) && price
                ? 'Invalid Price'
                : null
            }
          /> 
        )}
        name={'price'}
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You can do something like

import React, { useState } from "react";
import { Text, TextInput, View } from "react-native";

const App = () => {
  const [text, setText] = useState("");
  return (
    <View style={{ flexDirection: "row", borderWidth: 1, borderColor: "red" }}>
      {text.length > 0 && <Text style={{ color: "grey" }}>$</Text>}
      <TextInput
        style={{ color: "grey" }}
        placeholder="Type here to translate!"
        onChangeText={(newText) => setText(newText)}
        defaultValue={text}
      />
    </View>
  );
};

export default App;
about 4 years ago · Juan Pablo Isaza Report

0

If you want the text to be in the input all the time you either have to put it in the value and force it to be there. OR you have to use another element and position it over the input.

.ds { 
  position: absolute;
  margin-left: .6em;
  font-size: .8em;
  line-height: 1.5em;
}

.ds + input {
   padding-left: 1em;
}
<label for="x" class="ds">$</label><input type="text" id="x">

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!